/*
	Yelo: Open Sauce SDK
		Halo 1 (Editing Kit) Edition

	See license\OpenSauce\Halo1_CheApe for specific license information
*/

//////////////////////////////////////////////////////////////////////////
// TagGroups.cpp
#if __EL_INCLUDE_FILE_ID == __EL_TAGGROUPS_TAG_GROUPS
	namespace TagGroups
	{
		ENGINE_DPTR(tag_instance_data_t, tag_instance_data,		0xAA57C0, 0xEB8A80, 0xBD5118);

		FUNC_PTR(TAG_FILES_OPEN,			0x439BB0, 0x444A60, 0x4FCB20);

		FUNC_PTR(TAG_NEW_MOD_CHILD_COUNT_ASSERT_JMP,	0x4363B8, 0x4348E8, 0x4FB478);
	};

	FUNC_PTR(TAG_GROUPS_SET_MODEL_UPGRADE_HACK,		0x433260, 0x431E00, 0x4F8320);
	FUNC_PTR(TAG_GET_GROUP_TAG,						0x433280, 0x431E10, 0x4F8340);
	FUNC_PTR(TAG_GET_ROOT_BLOCK,					0x4332A0, 0x431E30, 0x4F8360);
	FUNC_PTR(TAG_GET_NAME,							0x4332C0, 0x431E50, 0x4F8380);
	FUNC_PTR(TAG_ORPHAN,							0x4332E0, 0x431E70, 0x4F83A0);
	FUNC_PTR(TAG_LOADED,							0x433300, 0x431E90, 0x4F83C0);
	FUNC_PTR(TAG_DATA_LOAD,							0x4333C0, 0x431E90, 0x4F8480);
	FUNC_PTR(TAG_DATA_UNLOAD,						0x4334D0, FUNC_PTR_NULL, 0x4F8590);
	FUNC_PTR(TAG_DATA_RESIZE,						0x433550, 0x432060, 0x4F8610);

	FUNC_PTR(TAG_FIELD_SCAN_STATE_NEW,				0x4336A0, 0x432110, 0x4F8760);
	FUNC_PTR(TAG_FIELD_SCAN_STATE_ADD_FIELD_TYPE,	0x433700, 0x432170, 0x4F87C0);
	FUNC_PTR(TAG_FIELD_SCAN,						0x433740, 0x432190, 0x4F8800);
	FUNC_PTR(TAG_READ_ONLY,							0x4338D0, 0x43233A, 0x4F8990);

	FUNC_PTR(TAG_ITERATOR_NEW,				0x433A50, 0x432470, FUNC_PTR_NULL);
	FUNC_PTR(TAG_ITERATOR_NEXT,				0x433A70, 0x432490, FUNC_PTR_NULL);

	FUNC_PTR(TAG_GET,						0x434DB0, 0x433340, 0x4F9E70);
	FUNC_PTR(TAG_GROUP_GET,					0x434B30, 0x433140, 0x4F9BF0);
	FUNC_PTR(TAG_RENAME,					0x434F4C, 0x4334D0, 0x4FA000);
	FUNC_PTR(TAG_BLOCK_INDEX_RESOLVE,		0x434FE0, 0x433570, 0x4FA0A0);
	FUNC_PTR(TAG_SIZE,						0x4350A0, 0x4335D0, 0x4FA160);

	FUNC_PTR(TAG_REFERENCE_SET,				0x4358C0, 0x433DF0, 0x4FA980);
	FUNC_PTR(TAG_BLOCK_SIZE,				0x433B40, 0x432340, 0x4F89B0);
	FUNC_PTR(TAG_BLOCK_GET_ELEMENT,			0x436310, 0x434840, 0x4FB3D0);
	FUNC_PTR(TAG_NEW,						0x436350, 0x434880, 0x4FB410);
	FUNC_PTR(TAG_SAVE,						0x436590, 0x434AC0, 0x4FB650);
	FUNC_PTR(TAG_BLOCK_DELETE_ELEMENT,		0x4366C0, 0x434BF0, 0x4FB780);
	FUNC_PTR(TAG_BLOCK_ADD_ELEMENT,			0x436980, 0x434EB0, 0x4FBA40);
	FUNC_PTR(TAG_UNLOAD,					0x436AE0, 0x435010, 0x4FBBA0);
	FUNC_PTR(TAG_BLOCK_RESIZE,				0x436B30, 0x435060, 0x4FBBF0);
	FUNC_PTR(TAG_BLOCK_INSERT_ELEMENT,		0x436BF0, 0x435120, 0x4FBCB0);
	FUNC_PTR(TAG_BLOCK_DUPLICATE_ELEMENT,	0x436F90, 0x435360, 0x4FC050);
	FUNC_PTR(TAG_LOAD,						0x437330, 0x435700, 0x4FC3F0);
	FUNC_PTR(TAG_RELOAD,					0x437930, 0x435CD0, 0x4FC9F0);
	FUNC_PTR(TAG_LOAD_CHILDREN,				0x437A30, 0x435DD0, 0x4FCAF0);

	FUNC_PTR(TAG_FILE_READ_ONLY,			0x43A980, 0x4452F0, 0x4FD8F0);
	FUNC_PTR(TAG_FILE_EXISTS,				0x43A9E0, 0x445350, 0x4FD950);


#else
	#error Undefined engine layout include for: __EL_INCLUDE_TAGGROUPS
#endif